LAMMPS编译安装教程 | 您所在的位置:网站首页 › lammps mpi并行安装 › LAMMPS编译安装教程 |
# 简介 LAMMPS即Large-scale Atomic/MolecularMassivelyParallel Simulator,可以翻译为大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作。 链接:官网地址 (opens new window),下载最新稳定版 (opens new window),下载指定版本 (opens new window) # 编译环境需要的编译环境为: c/c++的编译器,如gcc/icc等 mpi编译器,如mpich等 fftw数学库下面以intel 2013 compiler 编译器 和 mpich3.0.4 版本为例,介绍 lammps 的安装。 我们需要先设置一下环境变量: # 设置编译c/c++的环境 source /opt/intel/composer_xe_2013.0.079/bin/iccvars.sh intel64 # 设置mpi编译环境 export PATH=/usr/local/mpi-intel2013/bin:$PATH export LD_LIBRARY_PATH=/usr/local/mpi-intel2013/lib:$LD_LIBRARY_PATH 12345不同机器的编译器版本、安装目录不同,请依据自己的情况修改,不要直接copy。 # 安装lammps的说明lammps包含了非常丰富的packages,截止到现在大约有60多个,默认开启的是: KSPACE MANYBODY MOLECULE其他的包,我大致分为3类: 直接通过 make yes 就能安装的包,如ASPHERE、BODY、CLASS2等。 需要在lammps/lib文件夹下手动编译的包,如atc、quip、reaxc等。 需要在lammps/lib文件夹下,额外下载源码安装,然后再链接的包,如kim、voronoi、user-quip等。另外特别指出,还有一些功能可以支持,部分列举如下: lammps支持GPU,可以编译出GPU版本 安装jpeg/png的库,并通过修改lammps的makefile来支持 修改lammps的makefile的宏定义来支持ffmpeg 修改lammps的makefile的宏定义来编译出不同精度的lammps此次编译仅安装默认的包,其他的内容以后会介绍。 # 编译lammps # 解压缩如果我们下载到的压缩包为lammps-30Jul16.tar.gz,将其放置在某个目录下,例如用户根目录$HOME,先进行解压缩: tar lammps-30Jul16.tar.gz cd lammps-30Jul16 cd src 123# 修改Makefile我们使用文本编辑器(例如vim),打开lammps的makefile文件,修改其中的参数为我们需要的。 vim MAKE/Makefile.mpi 1需要修改的参数包括如下部分: # intel的FFTW MKLROOT = /opt/intel/composer_xe_2013.0.079/mkl FFT_INC = -DFFT_FFTW3 -I$(MKLROOT)/include/fftw FFT_PATH = FFT_LIB = $(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a 12345备注:MKLROOT为系统中Intel Compiler的mkl库的根目录,请依据自己的情况进行修改为实际路径。默认情况下安装的Intel Compiler的MKL库并未编译fftw的静态库,故需要手动编译。以后关于intel FFTW库的文章会介绍道的。 # 编译编译命令为: make mpi # 如果是多核的机器可以并行编译,如make -j 4 mpi 表示用4个cpu核一起编译 1如果编译成功,会会生成一个名为 lmp_mpi 的可执行文件。 # 测试lammps下面举例说明如何在天河超算平台下,通过slurm作业管理系统,提交lammps程序。 # 准备输入文件准备一个输入文件,如用lammps自带的例子: cd lammps/bench 1里面有一个名为in.lj的文件。 # 编写提交脚本编写一个名为sub.sh的脚本文件,里面写: #!/bin/bash yhrun -N 2 -n 24 -p debug /path/to/lmp_th |
CopyRight 2018-2019 实验室设备网 版权所有 |